import QtQuick 2.0
import QtQuick.Particles 2.0

Item{
    id:root

    Rectangle {
        id: target;
        color: "transparent";
        height: 30;
        anchors.top: parent.top;
        anchors.right: parent.right;
        anchors.left: parent.left
        anchors.margins: 4;
        //        border.width: 1
        //        border.color: "red"
    }

    //粒子系统
    ParticleSystem {
        id: particleSystem;
    }

    //发射器 发射粒子
    Emitter {
        id: emitter
        enabled: true
        group: "paopao"
        system: particleSystem          //发射器所属粒子系统
        anchors.bottom: parent.bottom   //发射器大小位置
        x:parent.width/3;
        width: parent.width/3;
        height: 80;
        size: 40                    //粒子初始大小像素
        endSize: 100;               //粒子结束大小像素
        sizeVariation: 10;          //偏差+-10像素
        emitRate: 10;               //每秒发射粒子数
        lifeSpan: 20 * 1000;        //粒子的存活时间 ms
        lifeSpanVariation: 3 *1000; //存活时间变化 ms
        maximumEmitted: 200          //最多同时存活粒子数

        //        Rectangle{
        //            anchors.fill: parent
        //            border.color: "red"
        //            border.width: 1
        //        }
        //加速度控制 是每个粒子加速度矢量（大小 方向）
        acceleration:AngleDirection {
            angle: 90               //加速度的方向 0度在3点钟方向 顺时针递增
            angleVariation: 30      //方向变化范围 +-
            magnitude: 9.8          //像素每秒 pix/s
            magnitudeVariation: 2   //加速度浮动范围+-2 pixe/s
        }


        //方向控制 一个目标作为移动的方向
        velocity: TargetDirection {
            targetItem: target;
            targetX: target.width/2;
            targetY: 0;
            targetVariation: target.width/2;
            magnitude: root.height/5;
        }

        //        //方向控制 一个角度作为移动的方向
        //        velocity:AngleDirection {
        //            //粒子的发射将会使用指定的角度属性。角度值在0到360度之间，0度代表指向右边
        //            angle: 270              //粒子的移动方向 0度在3点钟方向 顺时针递增 指向0度 即向右移动
        //            angleVariation: 15      //粒子的角度变化在+/-15度之间
        //            magnitude: 100          //粒子每秒钟移动100像素
        //            magnitudeVariation: 50  //粒子每秒钟移动像素在+/-50像素之间
        //        }

        //        //方向控制 一个点作为一个方向
        //        velocity: PointDirection{
        //            x:-50
        //            y:-50
        //        }

        //        //方向控制 对其中的多个方向求和 作为一个方向
        //        velocity: CumulativeDirection{
        //            AngleDirection {
        //                magnitude: 20
        //                angleVariation: 360;
        //                magnitudeVariation: 80;
        //            }
        //            PointDirection {y: 20}
        //        }
    }

    //渲染器 渲染粒子
    ImageParticle {
        id:paopao
        groups: ["paopao"]
        system: particleSystem;
        source: "qrc:///EpPaopao/paopao.png"
        alpha: 0.8              //图像alpha值
        autoRotation: false     //自动旋转
        rotation: 10
        rotationVariation: 5
        blueVariation: 0.1      //[0.0,1.0] 蓝色通道颜色变化值
    }

}
